1. Field of the Invention
This invention relates to the field of process control, and more particularly to techniques for using a database system to implement a table-driven process control system.
2. Description of Related Art
To date, the use of computers in process control systems has typically been limited to employing a calendar-date activation system that reminds the operator when an activity is due to be performed. Conventional process control systems suffer from a major drawback. Typically, they rely on a singular input, such as calendar date and time, and require human interaction to respond to such events and their recurrence and to make decisions and take action accordingly; an example of such a system is Outlook, manufactured by Microsoft Corporation, with its reminder capability.
Other systems have filters which can account for a given set of conditions and take actions accordingly; an example of such a system is the AR System by Remedy Corporation. Even though that system can monitor for multiple pre-defined conditions in the process and can schedule the monitoring and any actions taken in response to the monitoring, the scheduling is limited to scheduling a single occurrence of the monitoring and the associated actions at a predetermined date or time or at a recurring fixed time interval. Furthermore, although this system has the ability to detect a recurring match of a given set of conditions so that additional, and possibly different, actions can be taken based on a time interval, as is required when a problem persists and must be escalated, the users can neither configure the time intervals nor the actions themselves; rather they can only select from a fixed set of component choices. The components themselves are not user-definable, and therefore limit the extensibility of the escalation functionality.
Available systems are further limited to doing their monitoring at infrequent intervals, since the monitor always has the same response to a given condition. If the monitoring is done frequently, say every 10 minutes, the result is a flood of redundant responsive actions unless the output of responsive actions is simply curtailed after a fixed number has been sent over a given period of time. Neither infrequent monitoring nor ignoring the monitoring is conducive to the timely detection of events and conditions in a process that is being controlled.
Moreover, existing systems lack the ability to perform responsive actions based on an overall count of process records matching a given set of conditions, and beyond that, they lack the ability to respond to trends over time with regard to such counts. Existing systems are therefore unable to provide proactive responses that can eliminate the need to take corrective actions.
Although computer programs can always be developed to implement responses to specific conditions arising during a process and to particular sequences of conditions, such programs are of limited use, as they require code changes whenever new conditions and new requirements arise. Moreover, program code is by its nature general, and user-made modifications to a process control system's code can have consequences for the system that go far beyond what the user intended.
Because of these deficiencies, there are presently no process control systems available that are able to control processes that require many different process-related criteria to be continuously monitored and actions taken in response thereto at pre-determined times and time intervals and where the conditions justifying a certain action may vary substantially from one process to another, as may the need to respond to a persistent set of conditions. Moreover, such process control systems as have been devised to monitor complex processes are not easily or safely configurable or modifiable by their users.
It is therefore an object of the present invention to overcome the above described deficiencies: to eliminate the dependency of such systems on human operators; to allow frequent monitoring of conditions and selective execution of responsive actions to occur at predetermined times and time intervals; to provide timely responses; to automatically detect states of persistent conditions and execute different actions as needed, based on the recurrence of given conditions, and based on elapsed time between responsive actions; to provide the ability to take responsive actions based on trends, so that such actions are proactive, rather than reactive; and finally, to configure a system that performs such monitoring and executes responsive actions in a safe and user-friendly manner and thereby reducing the need to use skilled people to adjust a process control system to evolving needs in a timely way.